#ifndef GENERARCODIGO_H
#define GENERARCODIGO_H
#include "sentencia.h"
#include "tabla_simbolos.h"
#include "string.h"
#include "arreglo.h"
#include "registro.h"
#include "cadena.h"
#include "funcion.h"
#include "procedimiento.h"
#include "asignar.h"
#include "generarvariable.h"
#include "pin.h"
#include <QString>
#include <iostream>



using namespace std;

class GenerarCodigo
{
public:
    GenerarCodigo(Sentencia *sentencia,Tabla_Simbolos *variables,Tabla_Simbolos *Tipos);
    string getCodigo();


private:
   void setVariables(Tabla_Simbolos *variables);
   void setParametros(Tabla_Simbolos *variables);
   void setStruct();
   string Cvalue(Tipo_ts *value);
   Sentencia *sentencia;
   Tabla_Simbolos *variables;
   Tabla_Simbolos *Tipos;
   string Codigo;
   string PinCodigo;
   GenerarVariable *gv;
   multimap<int,string> pinmode;
   multimap<int,string>::iterator it2;
   multimap<int,int> pindir;
   multimap<int,int>::iterator it;
};

#endif // GENERARCODIGO_H
